Transmission of voice in packet switched networks

ABSTRACT

There is disclosed in a packet switched network a method of encoding speech packets into blocks, each speech packet including a speech header and a payload comprised of a speech frame, wherein at least two speech frames are encoded into a single block. Each speech frame may be associated with a different user. An EDGE network utilizes such a method.

FIELD OF THE INVENTION

The present invention relates to the encoding of packets in a packetswitched network, and particularly but not exclusively to the encodingof packets including voice on an EDGE network.

BACKGROUND TO THE INVENTION

Digital mobile communication systems for voice such as GSM (GlobalSystem for Mobile Communication), and DAMPS (Digital Advanced MobileSystems) have expanded very rapidly in recent years.

In addition great demand for data service has been created by mobileusers due to wide spread acceptance of the Internet. GPRS (GeneralPacket Radio Service), EDGE (enhanced data rate for GSM), and UMTS(Universal Mobile Telecommunications Services) are all being developedto accommodate data users in wireless networks.

Schemes for the transmission of voice over fixed packet switch networkshave also been developed in recent years and an increasing amount ofvoice traffic will be carried over packet switched networks in thefuture.

The enhanced data rate for GSM evolution (EDGE) is a proposal for theevolution of existing time division multiple access (TDMA) radiocellular systems in order to support higher transmission data rates andincrease the capacity of these networks. The application of EDGE isrestricted not only to GSM cellular networks but also has been acceptedfor the evolution of IS-136 systems by UWCC (Universal WirelessCommunications Consortium). Enhanced data rates are achieved byintroducing higher level modulation formats, such as 8-PSK (phase shiftkeying). With the introduction of such modulation schemes, EDGE systemscan offer bit rates of up to approximately three times higher thanstandard GSM/GPRS/IS-136 systems.

EDGE was initially developed in order to provide data service at higherrates than GSM or GPRS, by making use of multi-phase modulation (such as8-PSK) instead of binary GMSK. However, the structure of the proposedRLC/MAC blocks for data transmission do not allow for the efficient useof the available radio resources for voice transmission. Furthermore,due to the use of 8-PSK more powerful channel coding is required inorder to maintain certain levels of voice quality.

The use of more powerful channel encoding techniques generates a largernumber of encoded bits. If the number of bits encoded exceeds the numberof bit spaces available, then puncturing is usually applied to removecertain bits. A performance trade off therefore exists between providinga powerful channel coding technique, but minimising the number of bitsto be punctured.

PCT Patent Publication WO97/37466 discloses a method of encoding speechpackets into blocks in a packet switched network, each speech packetincluding a speech header and a payload comprised of a speech frame,wherein at least two speech frames are encoded into a single block.

SUMMARY OF THE INVENTION

The present invention is characterised over the disclosure of WO97/37466in that each speech frame includes a set of Class I bits and a set ofClass II bits, the method further comprising: encoding a first speechpacket by encoding at least a portion of the header and the set of ClassI bits; encoding a second speech packet by encoding at least a portionof the header and the set of Class I bits.

The present invention in its preferred embodiments advantageouslyprovides an improved encoding technique suitable for efficient channelencoding of voice on an EDGE network.

Each speech frame may be associated with a different user. Each speechframe may be associated with the same user. A speech header associatedwith only one speech frame may be encoded. Each speech frame may begenerated by a full-rate encoder. Two speech frames may be encoded intoa block without puncturing. Each speech frame may be generated by ahalf-rate encoder. Four speech frames may be encoded into a block.

The invention will now be described by way of example with reference tothe accompanying drawings, in which:

BRIEF DESCRIPTION OF THE FIGURES

FIGS. 1( a) and (b) illustrate a first example of a header structure fortransmitting voice over an EDGE network;

FIGS. 2( a) and (b) illustrate a second example of a header structurefor transmitting voice over an EDGE network;

FIGS. 3( a) and (b) illustrate a third example of a header structure fortransmitting voice over an EDGE network;

FIGS. 4( a) and (b) illustrates system performance improvements usingthe header of FIG. 3;

FIG. 5 illustrates an encoder for generating the header of FIG. 3( a);

FIG. 6 illustrates a decoder for decoding the header of FIG. 3( a);

FIG. 7 illustrates circuitry for generating an RLC/MAC block in thedown-link of an EDGE system;

FIGS. 8( a) to 8(c) illustrate one embodiment of the generation of anRLC/MAC block from two speech frames from the same user in the down-linkof an EDGE network utilising the circuit of FIG. 7;

FIGS. 9( a) to 9(c) illustrate an embodiment, corresponding to theembodiment of FIG. 8, for generating an RLC/MAC block in the up-link ofan EDGE system;

FIGS. 10( a) to 10(e) illustrate one embodiment of the generation of anRLC/MAC block from four speech frames from different users in thedown-link of an EDGE network;

FIGS. 11( a) to 11(e) illustrate an embodiment, corresponding to theembodiment of FIG. 10, for generating an RLC/MAC block in the up-link ofan EDGE system;

FIG. 12 illustrates circuitry for generating an RLC/MAC block in thedown-link of an EDGE system;

FIGS. 13( a) to 13(c) illustrate one embodiment of the generation of anRLC/MAC block from two speech frames from different users in thedown-link of an EDGE network utilising the circuit of FIG. 12;

FIGS. 14( a) to 14(c) illustrate an embodiment, corresponding to theembodiment of FIG. 13, for generating an RLC/MAC block in the up-link ofan EDGE system;

FIGS. 15( a) to (d) illustrate conventional interleaving techniques;

FIG. 16 illustrates a preferable interleaving technique for thedown-link of a wireless network;

FIG. 17 illustrates a preferable interleaving technique for the up-linkof a wireless network;

FIG. 18 illustrates circuitry for generating an RLC/MAC block in thedown-link of an EDGE system;

FIGS. 19( a) to 19(c) illustrate one embodiment of the generation of anRLC/MAC block from two speech frames from the same users in thedown-link of an EDGE network utilising the circuit of FIG. 18;

FIGS. 20( a) to 20(c) illustrate an embodiment, corresponding to theembodiment of FIG. 19, for generating an RLC/MAC block in the up-link ofan EDGE system;

FIG. 21 illustrates a convnetional GSM/GPRS burst structure;

FIG. 22 illustrates one embodiment of a preferable burst structure;

FIGS. 23( a) to 23(c) illustrate an embodiment, corresponding to theembodiment of FIG. 19, for generating an RLC/MAC block in the up-link ofan EDGE system;

FIG. 24 illustrates another embodiment of a preferable burst structure;and

FIG. 25 illustrates an example implementation of the preferable burststructures of FIGS. 22 and 24.

DESCRIPTION OF PREFERRED EMBODIMENTS

The enhanced data rate for GSM evolution (EDGE) has been developed tosupport the transmission of data packets in wireless networks. Networkssupporting the transmission of data packets are conventionally known aspacket switched networks. In packet switched networks such as EDGE, thedata is transmitted in data packets which include a header and apayload. Each data packet is encoded into a Radio Link Control/MediumAccess Control (RLC/MAC) block. The payload includes the informationportion of the data packet. The header includes control and routinginformation associated with the data packet. For example, the headerusually includes the destination address of the data packet, errorchecking information, and control bits for enabling receipt of thepacket to be acknowledged, and if necessary to request retransmission ofthe packet. One characteristic of data packet transmission is that ifthe receiver in the network does not successfully receive thetransmitted packet, then retransmission of the data packet is requested.

In sending voice, as opposed to data, the requirements for transmissionare different. For example, in voice transmission it is impractical forinformation to be re-transmitted because of time delay constraints.Therefore voice transmission in packet switched networks isunacknowledged voice packet transmission. In addition, with voicedifferent bits of the encoded speech have different importance, and itis acceptable for certain bits to be lost. However in data every bit isassumed to have equal importance, and no bits should therefore be lost.

It is herein proposed to transmit voice over an EDGE packet switchednetwork. In order to do this, a new RLC/MAC block structure is proposedin which the conventional EDGE header is modified to include thosefields required to support only voice transmission. Referring to FIG. 1,there is shown a first embodiment of a new RLC/MAC block header,suitable for transmission of voice over EDGE. The new RLC/MAC blockstructure includes a header which is reduced compared to the header ofthe data packets for EDGE. That is, the length of the header is shorterthan that which is required for the transmission of data packets.

Thus to send voice over an EDGE network, it is proposed to change theRLC/MAC block of a standard data packet. The new block contains aheader, and a payload consisting of the coded speech bits coded using astandard GSM speech encoder.

This new RLC/MAC block is coded in a different way from that of a knownstandard EDGE packet. This change of coding is required because forspeech data different bits have different importance whereas for dataevery bit has equal importance.

FIG. 1 (a) shows a header for transmission of voice in the down-link ofan EDGE network, prior to channel encoding into an RLC/MAC block. Theheader 2 comprises an up-link status flag (USF) field 4, a temporaryflow identity (TFI) field 6, and a final block indicator (FBI) field 8.The USF field is a 3 bit field, the TFI field is a 7 bit field, and theFBI field is a 1 bit field. All these fields, and there lengths, aredefined by the GPRS standard which EDGE utilises, and the functionalityof these fields in the reduced header is the same as in the normalheader used in EDGE for data packet transmission.

FIG. 1 (b) shows a header for transmission of voice in the up-link of anEDGE network. The header 10 comprises a temporary flow identity (TFI)field 12, a speech flag (SF) field 14, and a final block indicator (FBI)field 16. The TFI field is a 7 bit field, the SF field is a 2 bit field,and the FBI field is a I bit field. The speech flag field is newlyintroduced into an EDGE header, and corresponds to the S/P bit in GPRS.

In one preferable implementation of voice over EDGE as discussedhereinbelow, each EDGE RLC/MAC block contains two speech frames, andtherefore two speech flags are preferably provided in the up-link headerof FIG. 1( b), in order to signal whether each of these framescorresponds to silence or voice. The speech flag field may be increasedor reduced in dependence on whether more or less speech frames areincluded in the RLC/MAC block.

For completeness, a summary of each field of the up-link and down-linkheaders of FIG. 1 is given hereinbelow, but one skilled in the art willbe familiar with these fields and their functionality.

The USF field is used for unique addressing of the mobiles.Specifically, when a mobile receives a packet in the down-link, andreads the packets header and finds that it contains it's USF, this meansthat the base station has given permission to this mobile to transmitits packets on the up-link in a predefined timeslot.

The TFI field uniquely identifies a data flow. When a call isestablished, it is assigned a unique number. When a mobile station or abase station receives a packet and reads its header it knows which dataflow (call) this packet belongs to, by reading the TFI field.

When the SF field is set to 1, the speech frame corresponds to speech.If the SF field is set to 0, the speech frame corresponds to silence.

When the FBI field is set to 1, this is an indication to the receiverthat the current data flow is ended. If the FBI field is set to 0, thismeans that there are more packets to be transmitted in the current dataflow.

FIG. 2 shows a second embodiment of the new header for transmission ofvoice over EDGE. FIG. 2( a) shows the header for transmission of voicein the up-link of an EDGE network further modified to include a set oferror checking bits in a cyclic redundancy checking (CRC) field 18. Thenew header 20 still includes the USF field 4, the TFI field 6, and theFBI field 8.

FIG. 2( b) shows the header for transmission of voice in the down-linkof an EDGE network also further modified to include a set of errorchecking bits in a cyclic redundancy checking (CRC) field 22. The newheader 24 still includes the TFI field 12, the SF field 14, and the FBIfield 16. The provision of the error checking bits provides extraprotection for the header. Although the headers of FIGS. 2( a) and 2(b)are described with reference to a CRC field for error checking, it willbe appreciated that any other error checking scheme suitable fordetection of errors may be utilised in accordance with the application.

The size of the CRC field in both the up-link and the down-link headersis dependent upon the error code used in the system. In a simple errorchecking scheme, the CRC field is generated in dependence upon the otherfields in the header. At the receiver, the error field is compared to are-calculation of the CRC field based on the received header, and if anerror is detected then the speech block is discarded. In datatransmission this is normal, and re-transmission of the data packet maybe requested after the original packet is discarded.

In voice, as mentioned hereinabove, re-transmission is impractical. Ifvoice is sent in packet switched networks then the standard errortechniques can result in a speech block being discarded on the basis ofan error in the header alone, even when the speech in the payload iserror free.

Therefore there is proposed herein a further new header, generallyapplicable to any network in which information is sent in a blockcomprising a header and a payload. This new header is described hereinwith reference to a third embodiment of the header for voice over EDGEdescribed with reference to other embodiments in FIG. 1 and FIG. 2, butit will be appreciated that the technique is in fact applicable to allpacket switched networks, i.e. environments in which information isconveyed in packets or blocks having a header portion and a payload,whether the packet or block conveys speech or data.

The principle of this new header is to provide an error field in theheader which is generated in dependence only on bits contained in theheader. This error field is then used at the receiver end to determinewhether there are any errors present in the header. If one or moreerrors are present in the header, then the nature of the error field issuch that the receiver can attempt to correct the error or errorsintroduced during transmission.

This means that blocks which are error free in the payload, or containacceptable errors, are not automatically discarded. Therefore systemperformance is increased, particularly for the transmission of speech inpacket switched networks.

Referring to FIG. 3( a), the up-link header for transmitting voice overEDGE is therefore modified still further to produce a new header 26 inwhich the error checking field comprises a cyclic code scheme (CCS)field 28. Similarly referring to FIG. 3( b), the down-link header fortransmitting voice over EDGE has been modified still further to producea new header 30 in which the error checking field comprises a cycliccode scheme (CCS) field 32.

In the header 26 for the up-link for an EDGE network, a 15,10 cycliccode is preferably used for protection of the header, having thefollowing generator polynomial:g(D)=D ⁵ +D ⁴ +D ²+1

Thus a 15 bit header is generated from the original 9 bits of theheader. In accordance with the standard EDGE, the FBI bit is notincluded in the calculation of the CCS field. Such cyclic codes arewell-known, and within the scope of one skilled in the art. This blockcode has double-burst-error-correcting ability and single random errorcorrection capability. It can detect up to 3 random errors. It candetect all burst error patterns of length 5 or less. The fraction ofundetected error patterns of length equal to 6 is 0.0625. The fractionof undetected error patterns of length larger than 6 is 0.03125. Thecode has minimum distance of 4 and is the best code known with length 15and dimension 10.

In the header 30 for the down-link for an EDGE network a 15,9 cycliccode is preferably used for protection of the header, and has thefollowing generator polynomial:g(D)=D ⁶ +D ⁵ +D ⁴ +D ³+1

Thus a 15 bit header is generated from the original 10 bits of theheader. In accordance with the standard EDGE, the FBI bit is again notincluded in the calculation of the CCS field. This block code has bursterror correcting ability of three, and single random error correctionability. It can detect up to 2 random errors. It can also detect allerror patterns of length up to 6. The fraction of undetected errorpatterns of length equal to 7 is 0.03125. The fraction of undetectederror patters of length 8 or higher is 0.015625. It is clear that theTFI and SF fields are well protected and the error probability issignificantly reduced with this code which has triple burst errorcorrecting ability.

Syndrome, which is the result of a calculation done at the receiver uponreception of a code word, will be calculated for headers without errorcorrection. If the syndrome value is zero, this is an indication thatthe code word contains no errors. The manner in which the syndrome iscalculated depends upon the specific code used. The RLC block will thusbe accepted if the syndrome is right. If the syndrome is wrong, theheader will be sent for error correction. The RLC block will bediscarded if the error corrector still indicates there are errors in theheader because the number of errors exceeds the code error correctionability. When the error corrector indicates there are no errors in theheader after error correction, the RLC block will be accepted and itassumes any errors in the header have been corrected. FIG. 4 illustratesthe simulation of performance results in the down-link and the up-link,comparing the performance with and without error correction. In thesimulation the system is assumed to be interference free, and allresults are presented as a function of carrier to interference ratioexpressed in dB. Typical urban (TU) propagation conditions are assumed,and the mobile stations have a speed of 3 km/hr. Ideal frequency hoppingis utilized. During these simulations the number of dropped headers whenerror detection is used as well as the number of dropped headers whenerror correction is not used were calculated. In all cases a totalnumber of 5000 RLC/MAC block transmissions have been simulated.In both FIGS. 4( a) and 4(b) the performance table has four columns. Afirst column 34 shows the carrier to interference ratio as discussedabove, a second column 36 shows the number of dropped headers withouterror correction, a third column 38 shows the number of dropped headerswith error correction, and a fourth column 40 shows the percentageimprovement obtained by employing the new technique.

In FIG. 4( a), results for the down-link case where the 15.10 cycliccode is utilized are shown. The relative percentage improvement arisingfrom the use of error correction is also shown. FIG. 4( b) showscorresponding results for the case of up-link transmission where the15,9 cyclic code is utilized.

The headers with errors that have been corrected are betweenapproximately 10 to 20 percent according to the simulations. Because onecorrected header will save at least one speech frame, it will improvethe quality of speech significantly.

Referring to FIG. 5, there is shown a block diagram of an encodercircuit for generating a header for the down-link as shown in FIG. 3(a). The encoder circuit comprises a control circuit 50, a USF fieldgenerator circuit 52, a TFI field generator circuit 54, a FBI fieldgenerator circuit, a cyclic code generator circuit 58, and an outputcircuit 60. The control circuit 50 generates control and timing signalson lines 72 to each of the cyclic code generator circuit 58, and theheader field generator circuits 52, 54 and 56. The outputs of each ofthe USF and TFI header field generator circuits 52 and 54 on lines 74and 76 respectively form inputs to the cyclic code generator circuit 58.The cyclic code generator circuit generates the cyclic code from the 10bits of the respective fields of the header as discussed hereinabove,and generates the cyclic code on line 80, and the FBI field on line 78.The output circuit receives as an input the output of the cyclic codegenerator circuit on line 80. The output circuit then orders the signalson lines 74, 78 and 80 appropriately and generates the header of FIG. 3(a) on line 68. Embodiments of the further encoding of the header aredescribed further hereinbelow.It will be appreciated, from the block diagram of FIG. 5, how theencoder may be modified to provide an encoder for the up-link togenerate the header structure of FIG. 3( b).Referring to FIG. 6, there is shown a block diagram of the part of theheader decoding circuitry for error correction in the down-link. Thepart of the header decoding circuitry includes an input circuit 62, acyclic code generator circuit 64, and an error correction and detectionblock 66. The input circuit receives the 16 bits of the decoded header,having the format of FIG. 3( a), on line 70. The five bits of the cycliccode are provided on line 84 to the error correction and detectionblock. The 12 bits of the header on which the cyclic code is based areprovided on line 82 to the cyclic code generator circuit, which appliesthe same cyclic code applied in the cyclic code generator circuit 58 ofthe transmitter. The thus generated additional cyclic code is presentedon line 86 to the error correction and detection circuit 66. Thus theerror correction and detection circuit 66 detects the presence of anerror and attempts to correct it as discussed hereinabove. Again, fromthe description hereinabove it can be readily understood how the circuitof FIG. 6 can be modified for the up-link.

In the following discussion, specific examples of encoding speech framesfor transmission over EDGE are given. In these example one or another ofthe improved headers discussed hereinabove is utilised. It will beapparent, however, that alternative headers may be used whilst stillgaining from the advantages of the described encoding techniques.

In transmitting voice over EDGE, it is advantageous wherever possible touse the components of a standard speech encoder for generating thespeech frames for transmission. In the following examples, standard GSMspeech encoders are utilised. However, other speech encoders may beutilised. In GSM, speech frames have Class I bits and Class II bits, andthe Class I bits are further split into a Class Ia category and a ClassIb category. In general in speech different bits have differentimportance, and therefore in a more general case the important bits(Class I in GSM) can be considered as primary bits, and the lessimportant bits (Class II in GSM) can be considered as secondary bits.

Two Speech Frames from Same User

FIG. 7 illustrates a block diagram of an encoder suitable for encodingtwo speech frames on the down-link of an EDGE system, when the twospeech frames are associated with the same user. The encoder comprises apair of preliminary coding circuits 104 and 106, a pair of block codecircuits 112 and 118, a pair of reordering circuits 114 and 120, a pairof convolution encoders 126 and 128, an output circuit 116, and afurther block code circuit 140.

A standard GSM enhanced full-rate speech encoder generates a speechframe having 244 bits. 174 of these bits are Class I bits, of which 50are Class Ia and 124 are Class Ib. The remaining 70 bits are Class IIbits. The 244 bits of a first speech frame U1SF1 from a first user arereceived on a signal line 100, and the 244 bits of a second speech frameU1SF2 from the same first user are received on a signal line 102. Eachof the 244 bit speech frames U1SF1 and U1SF2 are input to one of therespective preliminary coding circuits 104 and 106.

The preliminary coding circuits 104 and 106 each generate, on arespective output signal line 108 and 110, a set of 260 bits. Eachspeech frame U1SF1 and U1SF2 of 244 bits are passed through one of thepreliminary coding circuits to produce a respective set of 260 bits. Theadditional 16 bits are generated in the preliminary coding circuits byan 8-bit cycle redundancy code on the most important 65 bits of theClass I bits, and by two repetitions of the tour most important Class IIbits. Thus each speech frame speech frame is modified to have 50 ClassIa bits, 132 Class Ib Bits, and 78 Class II bits, giving a total of 260bits. This preliminary coding step is in accordance with standard GSMtechniques.

The 50 Class Ia bits on the signal line 108 are input to the block codecircuit 112. Thereafter the 50 Class Ia bits are used to generate 3parity bits, such that 53 bits are generated on the output line 121 ofthe block code circuit. Similarly the 50 Class Ia bits on the signalline 110 are input to the block code circuit 118, which generates 53bits (including 3 parity bits) on line 124.

The 132 Class Ib bits on signal line 108 are input to the reorderingcircuit 114. The 132 Class Ib bits on signal line 110 are input to thereordering block circuit 120. The 53 bits on signal line 121 form afurther input to the reordering circuit 114, and the 53 bits on signalline 124 form a further input to the reordering circuit 120.

Each of the respective re-ordering circuits 114 and 120 additionallyreceive a set of six tail bits TB on the signal line 130 and 132respectively. A tail is then added to the end of the Class I bits, inthe reordering blocks 114 and 120 respectively, which are used astrellis termination for the convolution encoder utilised for the furtherencoding of the Class I bits as discussed below. In EDGE six tail bitsare added.

The reordering circuit 114 reorders the 53 Class I bits on lines 121,the 132 Class I bits on line 108, and the 6 tail bits on line 130 togenerate 191 Class I bits on signal line 122. The reordering circuit 120reorders the 53 Class I bits on lines 124, the 132 Class I bits on line110, and the 6 tail bits on line 132 to generate 191 Class I bits onsignal line 125. The 191 bit outputs on lines 122 and 124 respectivelyform inputs to the respective convolution encoder circuits 126 and 128.

The 78 Class II bits on line 108 are input directly to the output block116. The 78 Class II bits on line 10 are input directly to the outputblock 116.

Thus the 244 bit speech frames U1SF1 and U1SF2 are encoded, at thisstage, into respective 269 bit speech frames having 191 Class I bits and78 Class II bits.

The encoding of the speech frame up to now is in conformance with speechencoding techniques used in GSM, and may be implemented in a standardGSM speech encoder. The one difference is that in standard GSM only fourtail bits are required. Therefore in standard GSM there are usually only189 Class I bits at this stage.

In this advantageous embodiment of encoding two speech frames, anefficient coding technique is able to be utilised by encoding only oneheader, as opposed to two. That is, it is recognised that the headersassociated with the two speech frames are identical as they areassociated with the same user. Therefore, one header is discarded,resulting in a fewer number of bits needing to b encoded, as describedbelow. As will also become apparent from the following description, therequirement for the encoding of only one header when the speech framesare generated using an enhanced full-rate encoder enables two speechframes to be encoded into a single RLC/MAC block without the need forany puncturing in the encoding, resulting in a very efficient codingscheme.

The 16 bits of the down-link header are presented on signal line 138. Inthis example the advantageous header structure for the down-link of FIG.3( a) is utilised. The three USF bits form an input to the block codecircuit 140, which generates 36 bits on its output signal line 142 tothe output circuit 116, utilising a standard block code from EDGE. Theother 13 bits of the header on line 138 form a further input to theconvolution encoder circuit 126.

Referring to FIG. 8( a), there is shown the unencoded down-link speechblock or packet described up to now. The 3 bits of the USF field of theheader on line 138 are designated by numeral 150, the remaining 13 bitsof the header on line 138 are designated by reference numeral 152. The191 Class I bits of the first speech frame from the first user on line122 are designated by reference numeral 154, and the 78 Class II bits ofthe first speech frame from the first user on line 108 are designated byreference numeral 156. The 191 Class I bits of the second speech framefrom the first user on line 124 are designated by reference numeral 158,and the 78 Class II bits of the second speech frame from the first useron line 110 are designated by reference numeral 160.

As discussed hereinabove, the three USF bits of the down-link header areblock coded into 36 bits and passed to the output circuit 116, asdesignated by reference numeral 162 in FIG. 8( b). For the encoding ofthe USF field in the header the 36,3 linear block code as suggested forEDGE data transmission is used. The code is given below in Table I.

TABLE I USF Encoded USF 000 0000000000000000000000000000 00000000 0010000001110010111100100111011 10101111 010 000111001011110010011101110101111000 011 0001111100101011000011100110 11010111 1001110010111100100111011101011 11000000 101 111001100111001101111101000001101111 110 1111100101011000011100110110 10111000 1111111101011001111111000001101 00010111

The 191 Class I bits of the first speech frame on line 122 are combinedwith the remaining 13 bits of the header (i.e. all fields except the 3USF bits) on line 138 in the convolutional encoder circuit 126. A 3,1,7convolution code is utilised in the convolution encoder circuit 126 togenerate 612 bits on the output signal line 134, which are passed to theoutput circuit 116. These 612 bits are designated by reference numeral164 in FIG. 8( b).

The 3,1,7 convolutional code utilised in this preferred embodiment ismore powerful than the one proposed for data transmission in EDGE. Thecode has a rate of ⅓ and a constraint length of 7 and therefore it is ofthe same complexity with the code proposed for EDGE.

The generator polynomials of the rate 3.1.7 convolutional code are asfollows:G₀(D)=1+D²+D³+D⁵+D⁶G₁(D)=1+D+D²+D³+D⁴+D⁶G₂(D)=1+D+D⁴+D⁶

This code is the best known code in its class. The free distance of thecode is d_(free)=15. The code proposed in EDGE has a free distance of 14(when puncturing is not applied).

The 78 Class II bits are passed to the output circuit 116 unencoded fromline 108, and are designated by reference numeral 166 in FIG. 8( b). Itis standard in GSM for the Class I bits to be unencoded.

The 191 Class I bits of the second speech frame on line 125 are input tothe convolutional encoder circuit 128. The 3.1.7 convolution code isagain utilised in the convolution encoder circuit 126 to generate 573bits on the output signal line 136, which are passed to the outputcircuit 116. These 573 bits are designated by reference numeral 168 inFIG. 8( b).

The 78 Class II bits are passed to the output circuit 116 in unencodedform on line 110, and are designated by reference numeral 170 in FIG. 8(b).

The output circuit 116 additionally receives 4 stealing bits SB on line146. The four stealing bits are used to signal the type of the header(as in data transmission over EDGE). Each TDMA burst contains onestealing bit. Four stealing bits are therefore provided, as it isproposed herein that the RLC/MAC block is spread over four bursts as fordata over EDGE. In addition to the 1377 bits generated and as shown inFIG. 8( b), this leaves the total number of bits as 11 short of thenumber of bits available in an EDGE RLC/MAC block. Thus the outputcircuit 116 additionally receives 11 spare bits SPB on line 148. Theoutput circuit then generates the completed EDGE RLC/MAC block on line149, comprising 1392 bits, for transmission.

Referring to FIG. 8( c), the completed RLC/MAC block for the down-linkis illustrated, and corresponds to the format shown in FIG. 8( b) withthe addition of the 4 stealing bits designated by reference numeral 172,and the 11 spare bits designated by reference numeral 174. Referencenumeral 176 represents the 1377 bits of FIG. 8( b).

In practice only one of the convolution encoders 126 or 128 may beprovided. Such a single convolution encoder may be utilised for encodingboth speech frames in sequence.

Whilst the above description has been in relation to the transmission oftwo speech frames in the same RLC/MAC block in the down-link, and FIG. 8represents a summary of the channel coding for transmission of twospeech frames in one RLC/MAC block for down-link transmissions similartechniques apply in the up-link. FIG. 9 illustrates the channel codingprinciple applied for transmission of two speech frames in one RLC/MACblock for up-link transmission.

The encoder for generating the RLC/MAC block in the up-link will be verysimilar to that in the down-link shown in FIG. 7, and is therefore notshown herein. The encoder in the up-link differs in that the block codecircuit 140 for the header is not provided, and all 16 bits of theup-link header of FIG. 3( b) are combined with the 191 bits on line 122in the convolution encoder. In addition, the number of spare bits in theRLC/MAC block following convolution encoding, is 38, and hence thenumber of spare bits SPB on line 148 is increased to 38.

Referring to FIG. 9( a), there is shown the unencoded up-link speechblock or packet. The 16 bits of the header on line 138 are designated byreference numeral 180. The Class I bits of the first speech frame fromthe first user on line 122 are designated by reference numeral 182, andthe Class II bits of the first speech frame from the first user on line108 are designated by reference numeral 184. The Class I bits of thesecond speech frame from the first user on line 124 are designated byreference numeral 186, and the Class II bits of the second speech framefrom the first user on line 110 are designated by reference numeral 188.

The 191 Class I bits of the first speech frame on line 122 are combinedwith 16 bits of the header on line 138 in the convolutional encodercircuit 126. A 3,1,7 convolution code is again utilised in theconvolution encoder circuit 126 to generate 621 bits on the outputsignal line 134, which are passed to the output circuit 116. These 621bits are designated by reference numeral 190 in FIG. 9( b).

The 78 Class II bits are passed to the output circuit 116 unencoded fromline 108, and are designated by reference numeral 192 in FIG. 9( b).

The 191 Class I bits of the second speech frame on line 125 are input tothe convolutional encoder circuit 128. A 3,1,7 convolution code is againutilised in the convolution encoder circuit 126 to generate 573 bits onthe output signal line 136, which are passed to the output circuit 116.These 573 bits are designated by reference numeral 194 in FIG. 9( b).

The 78 Class II bits are passed to the output circuit 116 unencoded fromline 110, and are designated by reference numeral 196 in FIG. 9( b).

Referring to FIG. 9( c), the completed RLC/MAC block for the up-link isillustrated, and corresponds to the format shown in FIG. 9( b) with theaddition of the 4 stealing bits designated by reference numeral 198, andthe 38 spare bits designated by reference numeral 202. Reference numeral200 represents the bits of FIG. 8( b).

On the up-link or the down-link the 1392 bits of the RLC/MAC block arepassed to an 8-PSK modulator of the EDGE encoder. The RLC/MAC speechblocks are preferably interleaved over four bursts, as in thetransmission of data packets in EDGE.

At the receiver, the reverse decoding stages are utilised. If the headerof a received speech frame is in error, then an error correction isattempted. If the error correction is successful, the received speechframe may still then be discarded if either of the two CRC checks is notsuccessful (the 3 bits protecting the 50 Class Ia bits or the 8 bits CRCprotecting the 65 most important Class I bits).

Thus in the above there has been described a technique for encoding twospeech frames from the same user in a single RLC/MAC block fortransmission over EDGE. Although this technique has been specificallydescribed in relation to a technique for transmitting voice over EDGE,it applies more broadly to the transmission of voice over packetswitched networks. The technique allows two speech frames from one userto be encoded into a single RLC/MAC block using an encoding scheme whichis proven to be advantageous. More importantly, there is no requirementfor any puncturing of bits in implementing the encoding scheme. That is,there is no need to remove bits of the encoded speech frames to ensurethat the number of bits fits into the RLC/MAC block, as may normally beexpected to be required with the encoding of speech data. Thisparticular advantage is achieved by utilising the characteristic that iftwo speech frames are from the same user, then the headers associatedwith those speech frames are identical. Therefore one of the headers isredundant and can be removed from the packet to be encoded. This reducesthe number of bits to be encoded and allows a particularly advantageouscoding scheme to be utilised.

In addition, it should be appreciated that this technique may beadvantageously utilised in encoding of more than two speech frames fromthe same user in a single RLC/MAC block. Regardless of the number ofspeech frames, if they are from the same user only one header isrequired.

In the following description, two examples are given of the encoding oftwo speech frames which are associated with different users. Onecharacteristic of speech frames from different users is that in thedown-link one user does not have any information about the other user.

The principle described hereinabove for encoding four speech frames fromthe same user in a single RLC/MAC block may be further extended to theencoding of larger numbers of speech frames from the same user in asingle RLC/MAC block.

Two Speech Frames from Different User—Case I

Referring to FIG. 12, there is shown a block diagram illustrating oneembodiment for encoding two speech frames from two different users inthe down-link of a packet switched network. The down-link encoder ofFIG. 12 corresponds substantially to the down-link encoder of FIG. 7,and like reference numerals have been used to denote like elements. Themain difference lies in the addition of a further block code circuit141. In addition the convolution encoder circuits 126 and 128 aremodified to additionally include puncturing, as will be describedfurther hereinbelow.

This embodiment utilises the 244 bit speech frames generated by anenhanced full-rate GSM speech encoder, as described hereinabove withreference to FIG. 7. The 244 bits of a first speech frame U1SF1 from afirst user are received on the signal line 100, and the 244 bits of afirst speech frame U2SF1 from a second user are received on the signalline 102. Each of the 244 bit speech frames U1SF1 and U2SF1 areprocessed by the preliminary coding circuits 104 and 106, the block codecircuits 112 and 118, and the reordering circuits 120 exactly asdescribed hereinabove with reference to FIG. 7.

As the two speech frames are from different users, then there are tworespective different headers associated with each speech frame. Hencethe block code circuit 141 is introduced to handle the header associatedwith the second user speech frame on line 102. The header associatedwith the first user speech frame on line 100 is processed in the samemanner as the common header is processed in the circuit of FIG. 7, bythe block code circuit 140.

The 16 bits of the down-link header for the second user associated withthe speech frame U2SF1 are presented on signal line 139. The three USFbits form an input to the block code circuit 141, which generates 36bits on its output signal line 143 to the output circuit 116, utilisingthe standard block code from EDGE discussed hereinabove with referenceto FIG. 7. The other 13 bits of the header on line 139 form a furtherinput to the convolution encoder circuit 128.

Referring to FIG. 13( a), there is shown the unencoded down-link speechblock or packet, including two speech frames from two different users,prior to the operation of the convolutional encoder circuits withpuncturing 126 and 128. In this example, each speech frameadvantageously utilises the header format of FIG. 3( a). A first speechframe from a first user thus includes a USF field 212 of the header 213,and the remainder of the header is designated by reference numeral 214.The Class I bits of the first speech frame from the first user aredesignated by reference numeral 216, and the Class II bits from thefirst speech frame from the first user are designated by referencenumeral 218. A first speech frame from a second user includes a USFfield 220 of the header 221, and the remainder of the header isdesignated by reference numeral 222. The Class I bits of the firstspeech frame from the second user are designated by reference numeral224, and the Class II bits from the first speech frame from the seconduser are designated by reference numeral 226.

As discussed above, the 3 bits of the USF field 212 of the headerassociated with the first user are block encoded in the block codecircuit 140 to give 3 bits on line 142, designated by reference numeral238 in FIG. 13( b).

The 191 Class I bits of the first speech frame from the first user online 122 are combined with 16 bits of the header on line 138 in theconvolutional encoder circuit with puncturing 126. A 3,1,7 convolutioncode is again utilised in the convolution encoder circuit 126, and theencoder circuit punctures 34 bits such that 578-bits are generated onthe output 134 of the encoder circuit. These 578 bits are designated byreference numeral 230 in FIG. 13( b).

In a preferable implementation, the puncturing scheme used is asfollows:b(9+j*17) j=0,1 . . . 33,where b(i) is the output of the 3,1,7 encoder. This scheme will notpuncture any CRC bits. For Class I bits, the total output is 573 bits,with the CRC bits located in positions 151 to 159. The closest bits tothe CRC which are punctured are bits 145 and 162. The last bit puncturedis 570.

The 78 Class II bits 218 are passed to the output circuit 116 unencodedfrom line 108, and are designated by reference numeral 232 in FIG. 13(b).

As discussed above, the 3 bits of the USF field 220 of the headerassociated with the second user are block encoded in the block codecircuit 141 to give 3 bits on line 143, designated by reference numeral240 in FIG. 13( b).

The 191 Class I bits of the first speech frame from the second user online 125 are input to the convolutional encoder circuit 128. A 3.1.7convolution code is again utilised in the convolution encoder circuit128, and the encoder circuit punctures 34 bits such that 578 bits aregenerated on the output 136 of the encoder circuit 128. These 578 bitsare designated by reference numeral 234 in FIG. 13( b).

The 78 Class II bits 224 are passed to the output circuit 116 inunencoded form on line 110, and are designated by reference numeral 236in FIG. 13( b).

The encoder of FIG. 12 also differs from that of FIG. 7 in that thereare 8 stealing bits SB provided on line 146, and there is no requirementfor spare bits to be provided.

Referring to FIG. 13( c), the completed RLC/MAC block for the down-linkis illustrated, and corresponds to the format shown in FIG. 13( b) withthe addition of the 8 stealing bits designated by reference numeral 240.Reference numeral 242 represents the bits of FIG. 13( b).

Four more stealing bits are added to guarantee a complete in-band signalwhen the second user is absent.

On the up-link or the down-link the 1392 bits of the RLC/MAC block arepassed to an 8-PSK modulator of the EDGE encoder. The RLC/MAC speechblocks are preferably interleaved over four bursts, as in thetransmission of data packets in EDGE.

At the receiver, the reverse decoding stages are utilised. If the headerof a received speech frame is in error, then an error correction isattempted. If the error correction is successful, the received speechframe may still then be discarded if either of the two CRC checks is notsuccessful (the 3 bits protecting the 50 Class Ia bits or the 8 bits CRCprotecting the 65 most important Class I bits).

The encoder for generating the RLC/MAC block in the up-link will be verysimilar to that in the down-link shown in FIG. 12, and is therefore notshown herein. The encoder in the up-link differs in that it iseffectively simply half of the encoder shown in FIG. 12. The operationof the encoder in the up-link is best illustrated with reference to FIG.14

In the up-link, each user encodes its associated speech frame. Thus FIG.14( a) illustrates the unencoded speech frame for one of the users, forexample the first user. Again, the preferable header format of FIG. 3(b) is used in the up-link. The unencoded speech frame, as shown in FIG.14( a), comprises a header field 256 comprising the 16 bits of FIG. 12,the 191 Class I bits designated by reference numeral 258, and the 78Class II bits designated by reference numeral 260.

In the up-link, the full 16 bits of the header are convolution encodedwith the Class I bits, as discussed hereinabove in the embodiment of twospeech frames from the same user. Again, the 3,1.7 convolution code isused, and in the case of the up-link it is necessary to puncture 7 bits.Thus in the up-link the convolution encoder generates 614 bits 26′ asshown in FIG. 14( b). In the up-link only 7 bits are punctured.

The puncturing scheme used in a preferable implementation is for ClassIb bits only, and may be expressed as:b(200+j*49) j=0,1 . . . 6,where b(i) is the output of the 3,1 encoder. This scheme will notpuncture any CRC bits. The CRC bits are located at 151 to 159.Puncturing starts at 200 and finishes at 494.

The 78 Class II bits are included in the encoded speech frame 252unencoded as before, and are designated by reference numeral 264.

The thus encoded speech frame 252 has four stealing bits 266 addedthereto and this represents half of an RLC/MAC block as shown in FIG.14( c), where the bits of FIG. 14( b) are represented by referencenumeral 268.

Interleaving Scheme

The present description has a particular emphasis on the application oftechniques to an EDGE system. In EDGE, it is proposed that data packetencoded into an RLC/MAC block should be transmitted on the down-link orthe up-link in four bursts. That is the 1392 bits of an RLC/MAC blockshould be split into four sections, with each section being sent in aseparate burst.

As will be familiar to one skilled in the art, each burst occupies atime slot of a TDMA frame. That is, transmission in a TDMA system takesplace in a series of TDMA frames, each of which is split into a numberof time slots. Each time slot, in a circuit switched network havingdedicated physical channels, is allocated to, and reserved for sole useby, one particular user. Each user then transmits in their time-slot ofeach TDMA frame, both in the down-link and the up-link.

Referring to FIG. 15( b), there is shown the standard format of aGSM/GPRS burst. The burst 600 comprises a set of 3 tail bits 606 at thefront, followed by a set of 58 data bits 608, followed by a set of 26bits 610 comprising a training sequence followed by a set of 58 databits 612, followed by a further 3 tail bits 614 and finally a set of8.25 bits comprising a guard 616.

Information is transmitted on the physical channel in TDMA time slots,as illustrated in FIG. 15( a). In a TDMA system each TDMA time frame 611comprises a set of time slots, and in the example of FIG. 15( a) eachtime frame comprises a set of eight time slots TN1 to TN8. Each timeslot TN1 to TN8 of a TDMA frame carries a burst having the format shownin FIG. 15( b). Ordinarily, each time slot within a frame is reservedfor use by a particular user.

Referring to FIG. 15( c), the interleaving of a data RLC/MAC block intoTDMA frames in a conventional GSM/GPRS system is shown. Block 800represents the 464 bits of a first RLC/MAC speech block associated witha first user, block 802 represents the 464 bits of a second RLC/MACblock associated with the same first user, and block 804 represents the464 bits of a third RLC/MAC speech block associated with the same user.

In conventional GSM/GPRS, the 464 bits of a particular block, e.g. thesecond block 802, are interleaved over eight bursts (in eight TDMAframes) with the least half of the bits from the previous block 800(designated by reference numeral 801) and the first half of the bitsfrom the next block 804 (designated by reference numeral 805).

Thus, as indicated by the arrows in FIG. 15( c) and as is wellunderstood by one skilled in the art, the first set of 58 bits(including the stealing bits) of the block 802 are interleaved in thethird time slot of a first time frame TF1 with the fifth set of 58 bitsof the block 800. The second set of 58 bits of the block 802 areinterleaved in the third time slot of a second time frame TF2 with thesixth set of 58 bits of the block 800. The third set of 58 bits of theblock 802 are interleaved in the third time slot of a third time frameTF3 with the seventh set of 58 bits of the block 800. The fourth set of58 bits of the block 802 are interleaved in the third time slot of afourth time frame TF4 with the eighth set of 58 bits of the block 800.The fifth set of 58 bits of the block 802 are interleaved in the thirdtime slot of a fifth time frame TF5 with the first set of 58 bits of theblock 804. The sixth set of 58 bits of the block 802 are interleaved inthe third time slot of a sixth time frame TF6 with the second set of 58bits of the block 804. The seventh set of 58 bits of the block 802 areinterleaved in the third time slot of a seventh time frame TF7 with thethird set of 58 bits of the block 804. The eighth set of 58 bits of theblock 802 are interleaved in the third time slot of an eighth time frameTF8 with the fourth set of 58 bits of the block 804. The sets of bitsare selected to minimise correlation.

Conversely in the EDGE proposal, each RLC/MAC block is transmitted overfour time frames, and hence over four time slots in four successive timeframes as illustrated in FIG. 15( d).

FIG. 15( d) represents the arrangement of EDGE when an 8 PSK modulatoris used. This allows each conventional burst to accommodate three timesthe conventional number of bits, i.e. 464 (456 bits plus eight stealingbits). Thus the 1392 bits of an EDGE RLC/MAC block, represented by block810 in FIG. 15( d), are interleaved over four successive TDMA timeframes TF1 to TF4 in the third time slot. Each time slot carries asingle burst carrying 348 bits of data.

As can be seen from FIG. 15( d), each burst can carry 348 bits of data,and therefore the 1392 bits of data of the encoded RLC/MAC block can betransmitted over four bursts. However, in the embodiments describedherein for the transmission of voice over EDGE the 1392 bits of data maybe from two different users, and ordinarily each user would need to beallocated a separate time slot in each time frame.

In order to facilitate a particularly advantageous transmission scheme,there is proposed herein a scheme in which two users share a time slotwithin a TDMA frame on both the down-link and the up-link. This schememay be applied advantageously to the transmission of speech frames fromtwo different users over EDGE encoded according to the techniquedescribed hereinabove.

According to the new technique proposed herein, the data from each ofthe two users is transmitted in a common time frame. Referring to FIG.13( c) it can be seen that the encoded RLC/MAC block comprises 696 bitsassociated with the first user (including four stealing bits), and 696bits associated with the second user (including four stealing bits). Inaccordance with the new technique, in the down-link a quarter of theencoded bits associated with the first user are transmitted in anallocated time slot of each frame on four successive frames, and aquarter of the encoded bits associated with the second user aretransmitted in the same allocated time slot of each time frame on thesame four successive frames.

Thus, suppose that time slot TN3 is allocated to the two users. In timeslot TN3 of time frame TF1 174 bits (including one stealing bit) of theencoded RLC/MAC associated with the first user are transmitted in thedata portion 608 of the burst, and 174 bits (including one stealing bit)of the encoded RLC/MAC associated with the second user are transmittedin the data portion 612 of the burst. In time slot TN3 of time frame TF2a further 174 bits (including one stealing bit) of the encoded RLC/MACassociated with the first user are transmitted in the data portion 608of the burst, and a further 174 bits (including one stealing bit) of theencoded RLC/MAC associated with the second user are transmitted in thedata portion 612 of the burst. This is then repeated for a further twobursts such that all 1392 bits of the burst are transmitted in foursuccessive bursts.

Referring to FIG. 16, there is further illustrated the principle of sucha scheme applied to the down-link, for transmitting the RLC/MAC blocksof FIG. 13( c).

A block designated by reference numeral 400 represents 160 samples ofspeech associated with a first user in a 20 ms time frame, prior toinitial channel encoding. As represented by the arrow 404, these 160samples are encoded into a 260 bit speech frame for the first user asdesignated by reference numeral 408, which are the set of bits on theoutput 108 of the preliminary coding circuit 104. These 260 bits stilloccupy a 20 ms time period. The 260 bits of the speech frame are thenencoded into the 696 bits constituting half of the RLC/MAC block on theoutput 149 of the output circuit 116, which step is represented by arrow412. The 696 bits of the RLC/MAC block are designated by referencenumeral 416.

Similarly, for the second user, the arrows 406, 410 and 414 corresponddirectly to the functions illustrated by the arrows 400.408 and 416respectively. The blocks designated 402, 410, and 414 for the seconduser correspond directly to the blocks 404, 412 and 416 for the firstuser.

Thus the block 418 corresponds to the set of 696 bits of the RLC/MACblock of FIG. 13( c) associated with the second user.

The third time slot of the TDMA frames is allocated to both users. In afirst frame TF1 a first quarter of the encoded data for each user plustwo respective steering bits is transmitted. In a second frame TF2 asecond quarter of the encoded data for each user plus two respectivestealing bits is transmitted. In a third frame TF3 a third quarter ofthe encoded data for each user plus two respective stealing bits istransmitted. In a fourth frame TF4 a fourth quarter of the encoded datafor each user plus two respective steering bits is transmitted. Thus thewhole RLC/MAC block is transmitted over four bursts or time slots.

In a preferred implementation, the coded bits are reordered andinterleaved according to the following rule:

i(B,j)=c(n,k)

for: k=0,1, . . . , 691

n=0,1, . . . , N,N+1, . . . where n is the frame number.

The result of the interleaving is a distribution of the reordered 692bits of a given user one speech block, n=N, over 4 blocks using the evennumbered bits of the first 2 blocks (B=B0+2N+0,1) and the odd numberedbits of the last 2 blocks (B=B0+2N+2,3). The reordered bits of thesecond user speech block, n=K, use the odd numbered bits of the first 2blocks (B=B0+2N+0,1) and the even numbered bits of the last 2 blocks (BB0+2N+2,3).

The mapping is given by the rule:

e(B,j)=i(B,j) and e(B,176+j)=i(B,174+j) for j=0,1, . . . , 173 and

e(B,174)=SB(2B) and e(B,175)=SB(2B+1)

The two bits, labeled SB(2B) and SB(2B+1) on burst number B are flagsused for indication of control channel signaling.

In the up-link, the technique proposed with reference to FIG. 16 is notfeasible, since neither user is synchronised with the other. However anadaptation of the technique is still possible, which still employs theconcept of the two users sharing the same time slot to transmit the 1392bits of the RLC/MAC block over four successive bursts.

Again, suppose that time slot TN3 is allocated to the two users. In timeslot TN3 of time frame TF1 174 bits (including one stealing bit) of theencoded RLC/MAC associated with the first user are transmitted in thedata portion 608 of the burst, and a further 174 bits (including onestealing bit) of the encoded RLC/MAC associated with the first user aretransmitted in the data portion 612 of the burst. In time slot T3 oftime frame TF2 174 bits (including one stealing bits) of the encodedRLC/MAC associated with the second user are transmitted in the dataportion 608 of the burst, and a further 174 bits (including one stealingbit) of the encoded RLC/MAC associated with the second user aretransmitted in the data portion 612 of the burst. The remaining bitsassociated with the first user are then transmitted in the third timeframe TF3, and the remaining bits associated with the second user arethen transmitted in the fourth time frame.

Referring to FIG. 17, there is further illustrated the principle of sucha scheme applied to the up-link, for transmitting the RLC/MAC blocks ofFIG. 13( c).

The blocks 400, 408, and 416 in FIG. 17 correspond to the same blocks aslike reference numerals in FIG. 16, and are associated with the firstuser. The blocks 402, 410, and 418 in FIG. 17 similarly refer to thesame blocks as like reference numerals in FIG. 16, and are associatedwith the second user.

The 696 bits of the RLC/MAC block for the first user are designated byreference numeral 416, and the 696 bits of the RLC/MAC block for thesecond user are designated by reference numeral 418.

Similarly, for the second user, the arrows 406, 410 and 414 corresponddirectly to the functions illustrated by the arrows 400, 408 and 416respectively. The blocks designated 402, 410, and 414 for the seconduser correspond directly to the blocks 404, 412 and 416 for the firstuser.

The 696 bits of the encoded RLC/MAC block are interleaved over twoeven/odd bursts and passed to the 8-PSK modulator.

In the up-link, the coded bits are preferably reordered and interleavedaccording to the following rule:

i(B,j)=c(n,k) for k=0.1 . . . 691

n=0,1, . . . , N,N+1, . . .

The result of the interleaving is a distribution of the reordered 692bits of the user one speech block, n=N, over 2 even blocks (B=B0+2N+0,2)and the reordered bits of the user two speech block, n=K, use odd blocks(B=B0+2N+1,3).

The mapping is given by the rule:

e(B,j)=i(B,j) and e(B,176+j)=i(B,174+j) for j=0,1, . . . , 173 and

e(B,174)=SB(2B) and e(B,175)=SB(2B+1)

The two bits, labeled SB(2B) and SB(2B+1) on burst number B are flagsused for indication of control channel signaling.

Two Speech frames from Different User—Case II

Referring to FIG. 18, there is shown a block diagram illustrating asecond embodiment for encoding two speech frames from two differentusers in the down-link of a packet switched network. The down-linkencoder of FIG. 18 corresponds substantially to the down-link encoder ofFIG. 12, and like reference numerals have been used to denote likeelements. The main difference lies in the combining of the convolutionencoder circuits with puncturing 126 and 128 into a single convolutionencoder circuit with puncturing 127.

In this embodiment, the header for the down-link shown in FIG. 1( a) isused.

The 244 bits of the first speech frame U1SF1 from the first user arereceived on the signal line 100, and the 244 bits of the first speechframe U2SF1 from the second user are received on the signal line 102.Each of the 244 bit speech frames U1SF1 and U2SF1 are processed by thepreliminary coding circuits 104 and 106, and the block code circuits 112and 118 exactly as described hereinabove with reference to FIGS. 7 and12.

The reordering circuit 120 processes the 53 Class Ia bits on line 124and the 132 Class II bits on line 110 in exactly the same manner asdescribed hereinabove with reference to FIGS. 7 and 12. Thus thereordering circuit 120 generates the reordered 191 bits, including the 6tail bits supplied on the tail bit input TB on line 130.

The reordering circuit 114, however, is modified relative to there-ordering circuit 114 of FIGS. 7 and 12. The reordering circuit 114 ofFIG. 18 does not receive any tail bits, and thus the 185 bits at itsinput are presented on its output line 122. The reason why the tail bitsare not provided to the reordering block 114 are most easily understoodwith reference to FIG. 19.

FIG. 19( a) illustrates the format of the two speech frames, and theirassociated headers, prior to encoding into the format for the RLC/MACblock.

The 3 bits of the USF field from the first user's header on line 138 aredesignated by reference numeral 282. The 3 bits of the USF field fromthe second user's header on line 139 are designated by reference numeral284. The remaining 8 bits of the first user's header on line 138 aredesignated by reference numeral 286, and the remaining 8 bits of thesecond user's header on line 138 are designated by reference numeral288. The 185 Class I bits from the first user on line 122 are designatedby reference numeral 290, and the 191 Class I bits from the second useron line 125 are designated by reference numeral 292. The 78 Class 11bits from the first user on line 108 are designated by reference numeral294, and the 78 Class II bits from the second user on line 110 aredesignated by reference numeral 296.

It can be seen from studying FIG. 19( a), and comparing it to FIG. 13(a), that the fields in the unencoded block of FIG. 19( a) have beenrearranged such that equivalent fields from each user are adjacent. Thisintroduces an advantage by the location of the two Class I fields ofeach block adjacent each other. As discussed hereinabove, the six tailbits are introduced into the Class I bits as a tail to terminate theconvolution encoder. By placing the two sets of Class I bits together,and encoding them together, the set of tail bits for one set of Class Ibits can be removed. Thus the set of tail bits associated with the firstuser is eliminated, and hence the reordering circuit 114 only needs togenerate 185 bits, and does not need to include any tail bits.

This saving of bits results in the more efficient implementation of theconvolution code. The combined convolution encoder circuit withpuncturing encodes the two remaining sets of 8 bits of each header andthe two sets of Class I bits into a set of 1112 bits by utilising the3.1.7 convolution code as discussed above. The convolution encoder withpuncturing punctures 16 bits. The encoded speech frames are illustratedin FIG. 19( b). The 1112 convolution encoded bits are designated byreference numeral 300.

The puncturing scheme is applied for Class Ib bits only and thepreferable scheme is represented by:

b(200+j*49) j=0,1 . . . 7, where b(i) is the output of the 3,1,7encoder.

b(755+j*49) j=8, . . . 15, where b(i) is the output of the 3,1,7encoder.

The total number of bits reduces from 1128 to 1112.

As described before with reference to FIG. 12, each of the 3 bit USFfields are encoded in the block code circuits 140 and 141 into arespective set of 36 bits, using the block code described hereinabove.The 36 bits corresponding to the first user are designated by referencenumeral 302 and the 36 bits corresponding to the second user aredesignated by reference numeral 304.

Each set of 78 Class II bits are unencoded as before, and are designatedby the reference numerals 306 and 308.

Referring to FIG. 19( c), there is shown the final encoded RLC/MAC block310, which comprises the 1388 bits from FIG. 19( b) designated byreference numeral 312, together with 4 stealing bits designated byreference numeral 314.

The down-link, in this embodiment, utilises the interleaving techniqueintroduced in FIG. 16 for interleaving the RLC/MAC blocks onto fourbursts.

For this particular embodiment, there are two alternative techniquesdiscussed hereinbelow for encoding on the up-link. As discussedhereinabove for the first embodiment of two speech frames from differentusers on the up-link, neither user has any information about the other,and therefore each speech frame from each user is encoded separately.

FIG. 20 shows a first example of up-link coding. In FIG. 20( a) there isshown an unencoded speech block 322 having a header designated byreference numeral 326 corresponding to that of FIG. 1( b), a set of 191Class I bits designated by reference numeral 328, and a set of 78 ClassII bits designated by reference numeral 330.

The encoded speech block 322 is illustrated in FIG. 20( b). In thisexample, the up-link header and the set of Class I bits are encodedtogether by a 2.1.7 convolution code, with puncturing of 28 bits.

The preferable puncturing scheme applied for Class Ib bits only is:

b(110+j*10) j=0,1 . . . 27, where b(i) is the output of the ½ encoder.The total number of bits reduces from 402 to 374.

This results in a set of 374 bits as designated by reference numeral332. As before the 78 Class II bits remain unencoded, and are designatedby reference numeral 334.

Finally, the RLC/MAC block 324 for transmission is illustrated in FIG.20( c), and includes all the bits of FIG. 20( b) designated by referencenumeral 336 together with the 4 stealing bits designated by referencenumeral 328.

The speech frame of the second user is similarly encoded, and results inan RLC/MAC block with the identical format to that of FIG. 20( c).

New Burst Structure

FIG. 21 illustrates the conventional structure of a normal burst, and isidentical to that shown and described previously with reference to FIG.15( b). However, in FIG. 21 the number of bits in each portion of theburst corresponds to those which can be accommodated using 8 PSKmodulation.

In the following a new burst structure based on the GSM/GPRS burststructure is proposed, which advantageously utilises the encodingtechnique for the up-link described with reference to FIG. 20. Referringto FIG. 22 there is shown a new burst structure 602, equivalent inlength to the burst structure of FIG. 21, but having tail portions 618,626, 630 and 638, data portions 620, 624, 632, and 636, trainingsequences 622 and 634, and guard portions 628 and 640. The 456 bits ofan encoded RLC/MAC block are interleaved over four half bursts andpassed to the 8 PSK modulator.

FIG. 23 shows a second example of up-link coding. In FIG. 23( a) thereis shown the unencoded speech block 320 of FIG. 20( a).

The encoded speech block 340 is illustrated in FIG. 23( b). In thisexample, the up-link header and the set of Class I bits are encodedtogether by a 3,1,7 convolution code, with puncturing of 181 bits.

This scheme uses (3,1,7) convolutional code rather than (2,1,7)convolutional code in previous section. This code has better coding gainbut it produces more bits and lot puncturing has to be done.

Puncturing schemes are used:

b(43+j*3) j=0,1 . . . 44, where b(i) is the output of the ⅓ encoder.

b(193+j*3) j=0,1 . . . 135, where b(i) is the output of the ⅓ encoder.

This scheme will not puncture any header or CRC bits. The header islocated at bits 1 to 30 and the CRC is located at bits 181 to 189.

This results in a set of 422 bits as designated by reference numeral342. As before the 78 Class II bits remain unencoded, and are designatedby reference numeral 344.

Finally, the RLC/MAC block 350 for transmission is illustrated in FIG.23( c), and includes all the bits of FIG. 23( b) designated by referencenumeral 348 together with the 4 stealing bits designated by referencenumeral 346.

The speech frame of the second user is similarly encoded, and results inan RLC/MAC block with the identical format to that of FIG. 23( c).

Referring to FIG. 24 there is shown a further adaptation of the newburst structure 604 of FIG. 22, again equivalent in length to the burststructure of FIG. 21, but having tail portions 642, 650, 652 and 660,data portions 644, 648, 654, and 658, and training sequences 646 and656. Thus the new burst structure of FIG. 24 corresponds to the newburst structure of FIG. 22, but without any guard bands. The 504 bits ofthe encoded RLC/MAC block in FIG. 23 are interleaved over four halfbursts and passed to the 8 PSK modulator.

Referring to FIG. 25, there is illustrated an example of the encodingtechnique described above with reference to FIG. 20, and theinterleaving of the encoded RLC/MAC blocks into the new burst structure.The blocks 400, 408, and 416 in FIG. 25 correspond to the same blocks aslike reference numerals in FIG. 17, and are associated with the firstuser. The blocks 402, 410, and 418 in FIG. 25 similarly refer to thesame blocks as like reference numerals in FIG. 17, and are associatedwith the second user. In this example each of the blocks 416 and 418comprises 456 bits corresponding to the 456 bits of FIG. 20( c) for eachof the first and second users.

As illustrated in FIG. 25, each time frame includes a time-slot, whichis assumed to be the third time slot TN3, which is partitioned into twotime slots. Thus in a first time frame TF1 the third time slot 900 isdivided into a first sub-time-slot 908 and a second sub-time-slot 910.In a second time frame TF2 the third time slot 902 is divided into afirst sub-time-slot 912 and a second sub-time-slot 914. In a third timeframe TF3 the third time slot 904 is divided into a first sub-time-slot916 and a second sub-time-slot 918. In a fourth time frame TF4 the thirdtime slot 906 is divided into a first sub-time-slot 920 and a secondsub-time-slot 922. The other time-slots of each time frame are not shownfor reasons of clarity in the Figure.

Thus, in accordance with this technique, a quarter of the 456 bitsassociated with the first user and represented by block 416 aretransmitted in each of the four sub-time-slots 908, 912, 916, and 920. Aquarter of the 456 bits associated with the second user and representedby block 418 are transmitted in each of the four sub-time-slots 910,914, 918, and 922. The burst structure in each sub-time-slot correspondsto that of FIG. 22.

In this way each physical channel formed by a conventional time slotbecomes two physical channels. In this way an eight physical channelsystem may become a sixteen physical channel system.

Thus the original burst can be treated as two separate bursts. Theinformation of a first user will occupy the first new burst (the tophalf of the original burst), and the information of the second user willoccupy the second new burst (the bottom half of the original burst).Interleaving may be done by the conventional GSM/GPRS method, but with anew size of 456 for the burst structure of FIG. 22, and a new size of504 for the burst structure in FIG. 24.

The partitioning of each time slot into a (greater number ofsub-time-slots is possible. Thus, in general, if a time slot normallysupports a burst structure having n bits, each time slot may bepartitioned into m sub-time-slots, bits being transmitted in eachsub-time-slot in a corresponding burst structure having n/m bits.

In the general case, data from p users may be encoded such that eachforms 1/p bits of an RLC/MAC block, wherein the encoded data is encodedinto one of a p sub-time-slots.

Using the coding technique of FIG. 20, the burst structure of FIG. 24may be similarly utilised in a system such as FIG. 24. The guard band ofthe structure of FIG. 22 may be eliminated where there is goodsynchronisation between the users.

Thus in a circuit or packet switched TDMA network, the number ofphysical channels may be doubled or further increased.

The interleaving technique for transmitting user data from differentusers in the same time slot, described hereinabove with reference to,for example, FIGS. 16 and 17 may be combined with the techniquedescribed hereinabove with reference to, for example. FIG. 25, forpartitioning a time-slot. In this way sub-time-slots may be partitioned.

Four Speech Frames From Different Users

A further embodiment is now described in which four speech frames allassociated with different users are encoded into a single RLC/MAC blockfor transmission over EDGE. In this embodiment a standard GSM Half-rateencoder is utilised.

A standard GSM half-rate speech encoder generates a speech frame having112 bits. 95 of these bits are Class I bits, of which 22 are Class Iaand 73 are Class Ib. The remaining 17 bits are Class II bits.

The ordering of the bits of a half-rate speech frame is shown in FIG.10( a). As can be seen, the speech frame 700 comprises the 73 Class Ibbits 702, followed by the 22 Class Ia bits 704, and followed by the 17Class II bits 706.

In standard GSM, the Class Ia bits of the half-rate encoded speech frame700 of FIG. 10( a) are protected by three parity bits used for errordetection. After addition of the three parity bits, a 115 bit half-rateencoded speech frame 708 is formed having the format shown in FIG. 10(b). The three parity bits 710 are positioned between the Class Ia bits704 and the Class II bits 706.

The circuitry for generating the half-rate encoded speech frame 708 ofFIG. 10( b) may be a standard GSM speech encoder, the implementation ofwhich will be well within the scope of one skilled in the art. Thecircuitry for further encoding such speech frames into an EDGE RLC/MACblock will also be apparent to one skilled in the art having referenceto the circuit of FIG. 7 described hereinabove and the followingadditional description. For reasons of conciseness, a further modifiedimplementation of such a circuit is not shown here. The necessarymodifications to the circuit of FIG. 7 will be apparent from thefollowing description with further reference to FIGS. 10 and 11.

The encoding of the half-rate speech frame up to now is in conformancewith speech encoding used in GSM. In this example the advantageousheader structure for the down-link of FIG. 3( a) is again utilised.

Referring to FIG. 10( b), there is shown one unencoded down-link speechframe 712 associated with one user. The 3 bits of the USF field of theheader on line 138 are designated by numeral 720, the remaining 13 bitsof the header are designated by reference numeral 722.

The three USF bits of the down-link header are block coded into 36 bitsas designated by reference numeral 726 in FIG. 10( d). For the encodingof the USF field in the header the 36,3 linear block code as suggestedfor EDGE data transmission and shown hereinabove in Table I is used.

The 95 Class I bits 702 and 704 of the first speech frame are combinedwith the remaining 13 bits of the header 722 (i.e. all fields except the3 USF bits) and the 3 CRC bits 710 in a convolutional encoder circuit. A3,1,7 convolutional code is utilised as described above to generate 351bits designated by reference numeral 724 in FIG. 10( c).

The 3,1,7 convolutional code described hereinabove with reference toFIG. 7 is again used, having the generator polynomials of the rate 3,1,7convolutional code as follows:G₀(D)=1+D²+D³+D⁵+D⁶G₁(D)=1+D+D²+D³+D⁴+D⁶G₂(D)=1+D+D⁴+D⁶

The output of the convolutional encoder comprises 351 bits [b(1), . . ., b(351)]. In order to fulfil the length requirements of the EDGERLC/MAC block, puncturing must be used at this stage. More specifically,58 of the 351 bits 724 are punctured to result in a set of 293 encodedbits designated by reference numeral 728 in FIG. 10( d). The puncturedbits are the following:

-   -   b(40+5·i)=0, i=0,1, . . . ,56    -   b(324)=0

Careful examination of the punctured bits shows that none of thecritical CRC and header bits are punctured.

The 17 Class II bits are unencoded and are designated by referencenumeral 730 in FIG. 10( d).

Referring to FIG. 10( e), the completed RLC/MAC block 742 for thedown-link is illustrated, and corresponds to the format shown in FIG.10( d) with the addition of 8 stealing bits designated by referencenumeral 734 and encoded second, third, and fourth speech framesdesignated 736, 738, and 740.

Each of the second, third, and fourth half-encoded speech frames fromthe same user are encoded in an identical manner to that described inrelation to the first speech frame with reference to FIGS. 10( a) to10(d). In this embodiment all speech frames are encoded with theirheaders, since with the technique used—puncturing 58 bits per frame—thisresults in a length of bits (with the 8 stealing bits) equivalent inlength to an EDGE RLC/MAC block.

At the receiver end, prior to decoding, the punctured bits are replacedwith zeros. The punctured block consists of 293 bits, which are combinedwith the 36 encoded USF bits and the 17 uncoded Class II bits to formthe first block of the transmitted RLC/MAC block. The same procedure isfollowed for the rest three speech frames. At the end 8 stealing bitsare inserted. After the RLC/MAC block is formed, it is forwarded to themodulator and interleaver. Interleaving over four bursts is preferablyused in the downlink as in EDGE data transmission.

Because all the headers are encoded, this same technique may be used forencoding four speech frames which are not all associated with the sameuser.

Whilst the above description has been in relation to the transmission offour speech frames in the same RLC/MAC block in the down-link, and FIG.8 represents a summary of the channel coding for transmission of fourspeech frames in one RLC/MAC block for down-link transmission, similartechniques apply in the up-link. FIG. 11 illustrates the channel codingprinciple applied for transmission of four speech frames in one RLC/MACblock for up-link transmission.

Referring to FIG. 11( b), there is again shown one unencoded down-linkspeech frame 713 associated with one user. The 16 bit header isdesignated by numeral 723.

The 95 Class I bits 702 and 704 of the first speech frame are combinedwith the 16 bits of the header 723 and the 3 CRC bits 710 in aconvolutional encoder circuit. A 3,1,7 convolution code is againutilised to generate 360 bits (including 6 tail bits) designated byreference numeral 750 in FIG. 11( c).

The output of the convolutional encoder comprises 360 bits [b(1), . . .. b(360)]. In order to fulfil the length requirements of the EDGERLC/MAC block, puncturing must again be used at this stage. 31 of the360 bits 750 are punctured to result in a set of 329 encoded bitsdesignated by reference numeral 756 in FIG. 10( d). The punctured bitsare the following:

-   -   b(53+9·i)=0 i=0.1 . . . 29    -   b(324)=0

The 17 Class II bits 706 are unencoded. The encoded frame 752 is thenallocated two stealing bits 766 and multiplexed into an RLC/MAC blockwith the three other frames. Each of the three other encoded frames 760,762, and 764 is associated with two stealing bits 768, 770, and 772respectively.

As will be discussed later herein, if four encoded speech frames arefrom different users, in a preferable embodiment they may share a commonTDMA time slot.

Each encoded frame is preferably transmitted in one burst. Since fourdifferent blocks may come from four different users in the uplink, it isnot possible to interleave the RLC/MAC block over four bursts.Alternatively block interleaving is used for each block in each burst.Specifically, the 346 bits are inserted in a 18×20 rectangular matrixcolumn by column. This matrix has 360 elements and therefore the last 14elements are empty. The bits are read out row by row. This interleavingscheme achieves a minimum distance of 18 between consecutive bits. Atthe receiver end the inverse procedure (de-interleaving) is followed.

1. In a packet switched network a method of encoding speech packets intoblocks, each speech packet including a speech header and a payloadcomprised of a speech frame, wherein at least two speech frames areencoded into a single block, wherein each speech frame includes a set ofClass I bits and a set of Class II bits, the method comprising: encodinga first speech packet by encoding at least a portion of the header usinga block code or convolutional code and the set of Class I bits using aconvolutional code; encoding a second speech packet by encoding at leasta portion of the header using a block code or convolutional code and theset of Class I bits using a convolutional code; not using aconvolutional code or block code to encode the Class II bits.
 2. Themethod of claim 1 wherein each speech frame is associated with differentusers.
 3. The method of claim 2 wherein the speech frames are fortransmission on the down-link of a wireless packet switched network. 4.The method of claim 3 in which the two speech frames are arranged, priorto encoding, such that they are adjacent.
 5. The method of claim 3 inwhich the two speech frames are arranged, prior to encoding, such thatthe Class I bits of the two users are adjacent thereby forming a firstand second set of sequential Class I bits.
 6. The method of claim 3, inwhich the last n bits of the first sequential set of Class I bits areremoved prior to encoding, wherein the n bits correspond to n zero bitsprovided for an encoder with a constrain length of n+1.
 7. The method ofclaim 3 in which the coding step further involves the step of puncturingbits.
 8. The method of claim 7 wherein only a convolution code forencoding the Class I bits involves puncturing of bits.
 9. The method ofclaim 2 wherein the speech frames are for up-link transmission of thepacket radio network, wherein the Class I bits and the header areencoded using a convolution code.
 10. The method of claim 2 wherein thespeech frames are for transmission on the up-link of the packet radionetwork.
 11. The method of claim 10 wherein the Class I bits and theheader of each speech frame are encoded using a convolution code. 12.The method of claim 11, the encoding step further involving the step ofpuncturing bits.
 13. The method of claim 1 wherein each speech frame isassociated with the same user.
 14. The method of claim 13 wherein aspeech header associated with only one speech frame is encoded.
 15. Themethod of claim 1 wherein each speech frame is generated by a full-rateencoder.
 16. The method of claim 1 wherein each speech frame isgenerated by a half-rate encoder.
 17. The method of claim 16 in whichfour speech frames are encoded into a block.
 18. The method of claim 1wherein each encoding step comprises encoding two different portions ofeach header using two different encoding techniques.
 19. The method ofclaim 18 wherein the remainder of the header is encoded using a blockcode.
 20. The method of claim 1 wherein the Class I bits and a portionof each header are encoded using a convolution code.
 21. The method ofclaim 1 in which the single block includes a set of spare bits.
 22. Themethod of claim 1 in which the single block additionally includes a setof stealing bits.
 23. In a packet switched network a method of encodingspeech packets into blocks, each speech packet including a speech headerand a payload comprised of a speech frame, wherein at least two speechframes are encoded into a single block, wherein each of the speechframes is associated with a different user, wherein each speech frameincludes a set of Class I bits and a set of Class II bits, the methodcomprising: arranging the two speech frames, prior to encoding, suchthat the Class I bits of the two users are adjacent thereby forming afirst and second set of sequential Class I bits; removing the last nbits of the first sequential set of Class I bits prior to encoding,wherein the n bits correspond to n zero bits provided for an encoderwith a constraint length of n+1, encoding a first speech packet byencoding at least a portion of the header and the set of Class I bitsusing a block code or convolutional code; encoding a second speechpacket by encoding at least a portion of the header and the set of ClassI bits using a convolutional code; not using a convolutional code orblock code to encode the Class II bits.